package com.sg.dto.biz.bff.req;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * @desc BffImplementReassuredPositionMsgNumReqDto
 * @使用场景
 */
@Data
public class BffImplementReassuredPositionMsgNumReqDto implements Serializable {

    /**
     * 当前内容状态条数
     */
    @NotNull(message = "当前内容状态条数不能为空")
    @ApiModelProperty("当前内容状态条数")
    private Long currentNumberContentStatusEntries;

    /**
     * 汇报任务评价房间 MY_REPORT_TASK:我汇报的 TASK_REPORT_TO_ME:汇报给我的 TASK_RELATED_TO_ME:我相关的
     */
    @ApiModelProperty("汇报任务评价房间")
    private String reportTaskEvaRoom;

    /**
     * 汇报任务状态位置标识
     */
    @ApiModelProperty("汇报任务状态位置标识")
    private String reportTakMessageLocationCode;

    /**
     * 汇报任务状态上一级位置标识
     */
    @ApiModelProperty("汇报任务状态上一级位置标识")
    private String messageLocationTypeCode;

    /**
     * 消息位置标识
     */
    @NotNull(message = "消息位置标识不能为空")
    @ApiModelProperty("消息位置标识")
    private String messageLocationCode;

    /**
     * 归属内容类型编码 INDUCTION_RECORD:就职记录 ORIGINAL_ROLE_MEMBER:身份人员 ORG_OR_DEPT:组织部门 MEMBER_CHANNEL_RELATION:成员通道 OMS_EVALUATION_TEMPLATE:评价模板
     */
    @NotNull(message = "归属内容类型编码不能为空")
    @ApiModelProperty("归属内容类型编码")
    private String surfaceCode;

    /**
     * 归属内容ID
     */
    @ApiModelProperty("归属内容ID")
    private String entityId;

    /**
     * 扩展内容ID
     */
    @ApiModelProperty("扩展内容ID")
    private String extendedContentId;

    /**
     * 行为主题锁 REPORT_NUMBER_RELEVANT_BG_MESSAGES:汇报我相关托底消息数量 WORK_TASKS_SENIOR_DEPT_BG_MESSAGES:高层部门工作任务托底消息数量 WORK_TASKS_GRASSROOTS_DEPT_BG_MESSAGES:中基层部门工作任务托底消息数量 WORK_TASKS_SUBORDINATE_DEPT_GRASSROOTS_LEVEL_BG_MESSAGES:中基层下属部门工作任务托底消息数量 ALL_ISSUES_SENIOR_DEPT_BG_MESSAGES:高层部门所有问题托底消息数量 ALL_ISSUES_GRASSROOTS_DEPT_BG_MESSAGES:中基层部门所有问题托底消息数量 WORK_TASK_UCD_LOCK_NUMBER_SWIPES:工作任务UCD托底消息数量锁 WORK_REPORT_TASK_ME_LOCK_NUMBER_SWIPES:工作任务汇报给我托底消息数量锁 I_INITIATED_THE_ISSUE_LOCK_NUMBER_SWIPES:问题我发起的托底消息数量锁 PROBLEM_UCD_LOCK_NUMBER_SWIPES:问题UCD托底消息数量锁
     */
    @NotNull(message = "行为主题锁不能为空")
    @ApiModelProperty("行为主题锁")
    private String behaviorThemeLockCode;

    /**
     * 通用主键ID
     */
    @NotNull(message = "通用主键ID不能为空")
    @ApiModelProperty("通用主键ID")
    private String commPrimaryKey;

    /**
     * 自定义字段1
     */
    @ApiModelProperty("自定义字段1")
    private String customField1;

    /**
     * 自定义字段2
     */
    @ApiModelProperty("自定义字段2")
    private String customField2;

    /**
     * 自定义字段3
     */
    @ApiModelProperty("自定义字段3")
    private String customField3;

    /**
     * 锁定时长
     */
    @NotNull(message = "锁定时长不能为空")
    @ApiModelProperty("锁定时长")
    private Long duration;

    /**
     * 时间单位类型 YEAR:年 MONTH:月 DAY:天 HOUR:小时 MINUTES:分钟 SECOND:秒
     */
    @NotNull(message = "时间单位类型不能为空")
    @ApiModelProperty("时间单位类型")
    private String timeUnitType;

}
